#!/usr/local/bin/node

// console.log("ssss"); 

const inquirer = require("inquirer");
const fs = require("fs");
const path = require("path");
const ejs = require("ejs");


// console.log(path.join(__dirname,'a','b')); 

// inquirer.prompt([
//     {
//         type: 'input',
//         name: 'name',
//         message: 'input the project name?'
//     }
// ]).then(anwsers => {
//     // console.log(path.join(__dirname, 'templates'))
//     const tmplDir = path.join(__dirname, 'templates')
//     const destDir = process.cwd()

//     fs.readdir(tmplDir, (err, files) => {
//         if (err) {
//             throw err;
//         }
//         files.forEach(file => {
//             ejs.renderFile(path.join(tmplDir, file), anwsers, (err, result) => {
//                 if (err) {
//                     throw err
//                 }
//                 console.log(result)
                
//                 // 创建编译后的文件目录
//                 if (fs.existsSync("./dist")) {
//                     console.log("文件存在")

//                 } else {

//                     console.log("文件不存在")
//                     fs.mkdirSync('dist', () => {
//                         console.log("新建dist");
//                     })
//                 }
//                 //  写入文件
//                 fs.writeFile('./dist/index.html' + '', result, (err) => {
//                     if (err) {
//                         console.log('写入失败');
//                     } else {
//                         console.log('写入成功');

//                     }
//                 })
//             })
//         })

//     })
// })

const { Transform } = require('stream')
// 尝试压缩 css 代码

const read = fs.createReadStream('./templates/main.scss')
if (fs.existsSync("./dist/style")) {
    console.log("文件存在")

} else {

    console.log("文件不存在")
    fs.mkdirSync('./dist/style', () => {
        console.log("新建dist/style");
    })
}
const write = fs.createWriteStream('./dist/style/main.min.css')
const transform = new Transform({
    transform: (chunk, encoding, callback) =>{
        const input = chunk.toString()
        const output = input.replace(/\s+/g, '').replace(/\/\*.+?\*\//g, '')
        callback(null, output)
    }
})

read.pipe(transform).pipe(write)
